package com.notifier.event;


import lombok.Builder;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 错误事件 - 领域模型
 *
 * @author Amadeus
 * @date 2025/10/14
 */
@Data
@Builder
public class ErrorEvent {

    /**
     * 应用名称
     */
    private String applicationName;

    /**
     * 环境（prod/test/dev）
     */
    private String environment;

    /**
     * 错误签名（用于去重）
     */
    private String signature;

    /**
     * 错误类型
     */
    private String errorType;

    /**
     * 错误消息
     */
    private String errorMessage;

    /**
     * 完整堆栈
     */
    private String stackTrace;

    /**
     * 发生位置（类名.方法名:行号）
     */
    private String location;

    /**
     * 发生时间
     */
    private LocalDateTime occurTime;

    /**
     * Logger名称
     */
    private String loggerName;

    /**
     * 原始日志内容
     */
    private String formattedMessage;

    /**
     * 完整错误信息（格式化后用于发送）
     */
    private String fullErrorMessage;
}

